<?php namespace Common\Model;
use Hdphp\Model\Model;
class Cate extends Model{
	//指定表名
	protected $table='category';
	//自动验证
	protected $validate=array(
		//array(字段名,验证方法,错误信息,验证条件,验证时间)
		array('cname','required','分类名不能为空',3,3	),
		array('ctitle','required','分类名不能为空',3,3),
		array('ctitle','maxlen:120','分类标题不得超过120个字符',3,3),
	);
	
	//分类添加
	public function store(){
		//create可以自动触发自动验证
		//create之后$this->date才会有数据
	    if($this->create()){
	    	
	    	$this->add();
			return TRUE;
	    }
		    return FALSE;
	}
	//编辑子集
	public function edit(){
	    if(!$this->create()){
	    	return FALSE;
	    }else{
	    	$this->save();
	    	return TRUE;
	    }
	}
	//获得除了自己和自己的子集
	public function getNoMyAndSon($cid){
	    //获得自己子集的cid；
	    $cids=$this->getSon($this->get(), $cid);
		//压入自己的cid
		$cids[]=$cid;
		//除了自己的和自己子集的cid的数据
		$cids=implode(',', $cids);
		return $this->where("cid not in({$cids})")->get();
		
	}
	//获得子集
	public function getSon($data,$cid){
		$temp=[];
		foreach($data as $d){
			//如果当前分类有子集
			if($d['pid']==$cid){
				//就存放到临时数组里面
				$temp[]=$d['cid'];
				//递归调用自己不断的合并
				$temp=array_merge($temp,$this->getSon($data,$d['cid']));
			}
			
		}
		//得到结果返回结过
		return $temp;
	}	
		
		
}





















	